class Solution2 {
    public static int mySqrt(int x) {
        if(x < 1) return x;
        long left = 1,right = x;
        while(left < right) {
            long mid = left + (right - left + 1) / 2;
            if((mid * mid) <= x) {
                left = mid;
            }else {
                right = mid - 1; 
            }
        }
        return (int)left;
    }

    public static void main(String[] args) {
        long n = mySqrt(2147395599);
        System.out.println(n);
    }
}